package org.dlow.router;

import org.dlow.common.URL;

import java.util.List;

/**
 * 服务选择器接口
 * 负责从多个服务提供者中选择一个进行调用
 * 
 * @description: 服务选择器，实现负载均衡策略，从候选列表中选择最优服务
 * @Author: 山沐与山
 * @CreateTime: 2024-05-16 00:16
 */
public interface ServiceSelector {

    /**
     * 从候选服务列表中选择一个服务
     * 
     * @param candidates 候选服务URL列表
     * @return 选中的服务URL，如果列表为空则返回null
     */
    URL selectService(List<URL> candidates);

}
